package com.rc.saas.tenant.service.hlht;

import com.rc.saas.tenant.base.BaseService;
import com.rc.saas.tenant.mapper.hlht.HlhtTenantOpenGunMapper;
import com.rc.saas.tenant.model.elec.ElecGun;
import com.rc.saas.tenant.model.hlht.HlhtTenantOpen;
import com.rc.saas.tenant.model.hlht.HlhtTenantOpenGun;
import com.rc.saas.tenant.model.hlht.HlhtTenantOpenGunExample;

import java.util.List;

/**
 * @author wangzhengwei
 * @create 2021/8/12
 */
public interface HlhtTenantOpenGunService extends BaseService<Long, HlhtTenantOpenGun, HlhtTenantOpenGunExample, HlhtTenantOpenGunMapper> {
    /**
     * 批量插入
     * @param hlhtTenantOpen
     * @param elecGunList
     * @param loginName
     */
    void insertBatchByElecGunList(HlhtTenantOpen hlhtTenantOpen, List<ElecGun> elecGunList,String hlhtOpenforType, String loginName);

    /**
     * 根据站点和互联关系，批量删除互联枪
     * @param hlhtTenantOpen
     * @param ElecStationIdList
     */
    void deleteBatchByElecStationIdList(HlhtTenantOpen hlhtTenantOpen, List<Long> ElecStationIdList);

    /**
     * 根据站点和互联关系，批量更新hlhtOpenforType
     * @param hlhtTenantOpen
     * @param openedStationIdList
     * @param hlhtOpenforType
     */
    void updateGunHlhtOpenforTypeBatchByOpenStationIdList(HlhtTenantOpen hlhtTenantOpen,List<Long> openedStationIdList, String hlhtOpenforType);

    /**
     * 根据桩和互联关系，批量删除抢
     * @param hlhtTenantOpen
     * @param elecPileIdList
     */
    void deleteBatchByElecPileIdList(HlhtTenantOpen hlhtTenantOpen, List<Long> elecPileIdList);

    /**
     *  根据桩和互联关系，批量更新hlhtOpenforType
     * @param hlhtTenantOpen
     * @param openedPileIdList
     * @param hlhtOpenforType
     */
    void updateGunHlhtOpenforTypeBatchByOpePileIdList(HlhtTenantOpen hlhtTenantOpen,List<Long> openedPileIdList, String hlhtOpenforType);

}
